package com.jrx.anytxn.customer.handel;

import com.jrx.anytxn.common.exception.TxnBizException;
import com.jrx.anytxn.customer.dto.BaseApiReq;
import com.jrx.anytxn.customer.dto.customer.*;

/**
 * 客户api请求处理接口
 * @author qingyao.xing
 * @version 1.0
 * @date 2019/10/22
 */
public interface ICustomerHander {

    /**
     * 客户建档
     * @param req
     * @return TxnRespResult
     * @author Qingyao Xing
     * @date 2019/10/22 20:03
     */
    void customerInfoCreation(CustomerReq req) throws Exception;

    /**
     *  客户注册
     * @param req 客户注册请求
     */
    void customerRegister(CustomerRegisterReq req) throws Exception;

    /**
     *  客户信息补充
     * @param req 客户信息补充请求
     */
    void customerSupply(CustomerSupplyReq req) throws Exception;

    /**
     * 修改手机号
     * @param req
     */
    void modifyMobile(CustomeMobileModifyReq req) throws Exception;

    /**
     * 保存用户注册时营销数据
     * @param req
     */
    void saveRegMarketingRecord(CustomeRegisterMarketingRecordReq req) throws Exception;

    /**
     * 证件有效期修改
     * @param req
     */
    void updateIdValidity(IdValidityReq req) throws Exception;

    /**
     * 修改二级客户表部分信息
     * @param req
     */
    void updateSecondLevel(CustSecondLevelModReq req);

    /**
     * 注册ECIF
     * @param req
     * @return
     */
    void ecifRegister(CustomerEcifReq req)  throws Exception;

}